#define _CRT_SECURE_NO_WARNINGS 1

//#include <stdio.h>
//#include <stdlib.h>

// 设置控制台的显示大小、名称
//int main()
//{
//	system("mode con cols=100 lines=30");
//	system("title 贪吃蛇");
//	// system("pause");
//	
//	return 0;
//}

//#include <windows.h>
//#include <stdbool.h>

//int main()
//{
//	// COORD pos = { 40, 10 };
//	CONSOLE_CURSOR_INFO cursor_info = { 0 };
//
//	HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
//	GetConsoleCursorInfo(handle, &cursor_info);
//	// cursor_info dwSize = 100;
//
//	cursor_info.bVisible = false; // 隐藏
//	SetConsoleCursorInfo(handle, &cursor_info);
//
//	return 0;
//}

//void SetPos(int x, int y)
//{
//	// 获得设备句柄
//	HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
//
//	// 根据句柄设置光标的位置
//	COORD pos = { x, y };
//	SetConsoleCursorPosition(handle, pos);
//}

//int main()
//{
//	SetPos(20, 5);
//
//	printf("hehe\n");
//
//	SetPos(10, 5);
//	printf("haha\n");
//
//	SetPos(10, 5);
//	printf("heihei\n");
//
//	return 0;
//}

// 如果我们要判断⼀个键是否被按过，可以检测GetAsyncKeyState返回值的最低值是否为1.
//#define KEY_PRESS(VK) ((GetAsyncKeyState(VK) & 0x1) ? 1 : 0 )
//int main()
//{
//	while (1)
//	{
//		if (KEY_PRESS(0x30))
//			printf("0\n");
//		else if (KEY_PRESS(0X31))
//			printf("1\n");
//		else if (KEY_PRESS(0X32))
//			printf("2\n");
//		else if (KEY_PRESS(0X33))
//			printf("3\n");
//		else if (KEY_PRESS(0X34))
//			printf("4\n");
//		else if (KEY_PRESS(0X35))
//			printf("5\n");
//		else if (KEY_PRESS(0X36))
//			printf("6\n");
//		else if (KEY_PRESS(0X37))
//			printf("7\n");
//		else if (KEY_PRESS(0X38))
//			printf("8\n");
//		else if (KEY_PRESS(0X39))
//			printf("9\n");
//	}
//
//	return 0;
//}


//#include <locale.h>
//
//int main()
//{
//	char* loc;
//
//	loc = setlocale(LC_ALL, NULL);
//	printf("默认的本地信息:%s\n", loc);
//
//	loc = setlocale(LC_ALL, "");
//	printf("设置后的本地信息:%s\n", loc);
//
//	return 0;
//}

///* setlocale example */
//#include <stdio.h>      /* printf */
//#include <time.h>       /* time_t, struct tm, time, localtime, strftime */
//#include <locale.h>     /* struct lconv, setlocale, localeconv */
//
//int main()
//{
//    time_t rawtime;
//    struct tm* timeinfo;
//    char buffer[80];
//
//    struct lconv* lc;
//
//    time(&rawtime);
//    timeinfo = localtime(&rawtime);
//
//    int twice = 0;
//
//    do {
//        printf("Locale is: %s\n", setlocale(LC_ALL, NULL));
//
//        strftime(buffer, 80, "%c", timeinfo);
//        printf("Date is: %s\n", buffer);
//
//        lc = localeconv();
//        printf("Currency symbol is: %s\n-\n", lc->currency_symbol);
//
//        setlocale(LC_ALL, "");
//    } while (!twice++); // 巧妙的执行两次
//
//    return 0;
//}

//#include <stdio.h>
//#include <locale.h>
//
//int main()
//{
//	setlocale(LC_ALL, "");
//
//	wchar_t ch1 = L'中';
//	wchar_t ch2 = L'国';
//	wchar_t ch3 = L'★';
//	wchar_t ch4 = L'●';
//	
//	wprintf(L"%lc\n", ch1);
//	wprintf(L"%lc\n", ch2);
//	wprintf(L"%lc\n", ch3);
//	wprintf(L"%lc\n", ch4);
//
//	printf("ab\n");
//
//}

